<?php
/**
 * Swoole - 兼容容器对象
*/

namespace houze\context;

use houze\context\lib\Context;

class Container extends Context {
    /**
     * 容器队列
    */
    private static $list = [];
    
    /**
     * 设置实例
    */
    public static function set($name, $mixed=null) {
        self::$list[self::$id][$name] = $mixed;
    }

    /**
     * 获取实例
    */
    public static function get($name=null) {
        if (!isset(self::$list[self::$id][$name])) return false;

        return self::$list[self::$id][$name];
    }

    /**
     * 判断实例是否存在
    */
    public static function has($name) {
        if (!isset(self::$list[self::$id][$name])) return false;

        return true;
    }

    /**
     * 删除实例
    */
    public static function delete($name=null) {
        if ($name) {
            if (!isset(self::$list[self::$id][$name])) return false;
            unset(self::$list[self::$id][$name]);
        } else {
            if (!isset(self::$list[self::$id])) return false;
            unset(self::$list[self::$id]);
        }
        
        return true;
    }
    
    /**
     * 获取存储列表
    */
    public static function getList() {
        return self::$list;
    }
}